mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-01 02:03:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <p>给你三个<strong> 正整数 </strong><code>n</code> 、<code>x</code> 和 <code>y</code> 。</p>
 | ||
| 
 | ||
| <p>在城市中,存在编号从 <code>1</code> 到 <code>n</code> 的房屋,由 <code>n</code> 条街道相连。对所有 <code>1 <= i < n</code> ,都存在一条街道连接编号为 <code>i</code> 的房屋与编号为 <code>i + 1</code> 的房屋。另存在一条街道连接编号为 <code>x</code> 的房屋与编号为 <code>y</code> 的房屋。</p>
 | ||
| 
 | ||
| <p>对于每个 <code>k</code>(<code>1 <= k <= n</code>),你需要找出所有满足要求的 <strong>房屋对 </strong><code>[house<sub>1</sub>, house<sub>2</sub>]</code> ,即从 <code>house<sub>1</sub></code> 到 <code>house<sub>2</sub></code> 需要经过的<strong> 最少</strong> 街道数为 <code>k</code> 。</p>
 | ||
| 
 | ||
| <p>返回一个下标从 <strong>1</strong> 开始且长度为 <code>n</code> 的数组 <code>result</code> ,其中 <code>result[k]</code> 表示所有满足要求的房屋对的数量,即从一个房屋到另一个房屋需要经过的<strong> 最少 </strong>街道数为 <code>k</code> 。</p>
 | ||
| 
 | ||
| <p><strong>注意</strong>,<code>x</code> 与 <code>y</code> 可以 <strong>相等 </strong>。</p>
 | ||
| 
 | ||
| <p> </p>
 | ||
| 
 | ||
| <p><strong class="example">示例 1:</strong></p>
 | ||
| <img alt="" src="https://assets.leetcode.com/uploads/2023/12/20/example2.png" style="width: 474px; height: 197px;" />
 | ||
| <pre>
 | ||
| <strong>输入:</strong>n = 3, x = 1, y = 3
 | ||
| <strong>输出:</strong>[6,0,0]
 | ||
| <strong>解释:</strong>让我们检视每个房屋对
 | ||
| - 对于房屋对 (1, 2),可以直接从房屋 1 到房屋 2。
 | ||
| - 对于房屋对 (2, 1),可以直接从房屋 2 到房屋 1。
 | ||
| - 对于房屋对 (1, 3),可以直接从房屋 1 到房屋 3。
 | ||
| - 对于房屋对 (3, 1),可以直接从房屋 3 到房屋 1。
 | ||
| - 对于房屋对 (2, 3),可以直接从房屋 2 到房屋 3。
 | ||
| - 对于房屋对 (3, 2),可以直接从房屋 3 到房屋 2。
 | ||
| </pre>
 | ||
| 
 | ||
| <p><strong class="example">示例 2:</strong></p>
 | ||
| <img alt="" src="https://assets.leetcode.com/uploads/2023/12/20/example3.png" style="width: 668px; height: 174px;" />
 | ||
| <pre>
 | ||
| <strong>输入:</strong>n = 5, x = 2, y = 4
 | ||
| <strong>输出:</strong>[10,8,2,0,0]
 | ||
| <strong>解释:</strong>对于每个距离 k ,满足要求的房屋对如下:
 | ||
| - 对于 k == 1,满足要求的房屋对有 (1, 2), (2, 1), (2, 3), (3, 2), (2, 4), (4, 2), (3, 4), (4, 3), (4, 5), 以及 (5, 4)。
 | ||
| - 对于 k == 2,满足要求的房屋对有 (1, 3), (3, 1), (1, 4), (4, 1), (2, 5), (5, 2), (3, 5), 以及 (5, 3)。
 | ||
| - 对于 k == 3,满足要求的房屋对有 (1, 5),以及 (5, 1) 。
 | ||
| - 对于 k == 4 和 k == 5,不存在满足要求的房屋对。
 | ||
| </pre>
 | ||
| 
 | ||
| <p><strong>示例 3:</strong></p>
 | ||
| <img alt="" src="https://assets.leetcode.com/uploads/2023/12/20/example5.png" style="width: 544px; height: 130px;" />
 | ||
| <pre>
 | ||
| <strong>输入:</strong>n = 4, x = 1, y = 1
 | ||
| <strong>输出:</strong>[6,4,2,0]
 | ||
| <strong>解释:</strong>对于每个距离 k ,满足要求的房屋对如下:
 | ||
| - 对于 k == 1,满足要求的房屋对有 (1, 2), (2, 1), (2, 3), (3, 2), (3, 4), 以及 (4, 3)。
 | ||
| - 对于 k == 2,满足要求的房屋对有 (1, 3), (3, 1), (2, 4), 以及 (4, 2)。
 | ||
| - 对于 k == 3,满足要求的房屋对有 (1, 4), 以及 (4, 1)。
 | ||
| - 对于 k == 4,不存在满足要求的房屋对。
 | ||
| </pre>
 | ||
| 
 | ||
| <p> </p>
 | ||
| 
 | ||
| <p><strong>提示:</strong></p>
 | ||
| 
 | ||
| <ul>
 | ||
| 	<li><code>2 <= n <= 100</code></li>
 | ||
| 	<li><code>1 <= x, y <= n</code></li>
 | ||
| </ul>
 | 
